Servocontrol system and method of setting

ABSTRACT

A servo control system which comprises an original cam pattern generator  11  for generating a first pattern of a cam shape relative to a phase corresponding to one revolution of a cam mechanism; a corrector  14  for differentiating the original pattern of the original pattern generator  11  with respect to time, multiplying the differentiation value by a constant to find a multiplication value, and subtracting a predetermined phase from the multiplication value to generate a correction cam pattern; and a position command device  14  for adding the above-mentioned correction pattern to the above-mentioned original pattern to generate a second pattern and generating a position command of the above-mentioned servomotor based on the phase corresponding to one revolution of the above-mentioned cam mechanism using the second pattern.

TECHNICAL FIELD

[0001] This invention relates to a servo control system for causing a servomotor to operate as a cam pattern according to a position command compensating for a follow-up delay in electronic cam control and a setting method of the servo control system.

BACKGROUND OF THE INVENTION

[0002] Hitherto, as for cam operation, a mechanical cam for providing output in conjunction with motion of a cam attached to a shaft has been used. In a method using the mechanical cam, it is difficult to adjust a cam pattern. Thus, an electronic cam has been used for which the relationship between rotation of a shaft and cam shape data is previously registered, the rotation position of the shaft is detected, and based on the detection value, a servomotor is controlled for performing cam operation.

[0003] In such electronic cam control, a servo control system disclosed in JP-A-7-104855 is available for the purpose of decreasing the difference between a position command and position feedback. In an electronic cam phase control method for controlling a servo system in accordance with a position command having a predefined position pattern relative to the transition of a phase command θ, the servo control system generates a phase delay amount Δθ caused by a follow-up delay of the servo system relative to the position command as a function of phase transition speed ω, inputs a signal with the phase delay amount Δθ added to the phase command to a position pattern generation circuit, and adopts an output signal therefrom as a position command of the servo system.

[0004] Such a servo control system can compensate for the phase delay of the electronic cam.

[0005] However, the above-described servo control system outputs the position command in advance almost proportional to the phase delay amount and thus compensates only for the phase delay amount. That is, it does not compensate for the follow-up delay of the servo system and thus particularly if the control speed is high, the follow-up delay of the servo system becomes noticeable as shown in FIG. 7. Thus, the locus of the actual positions of the servomotor differs largely from the locus of the position command prepared from a cam pattern and the actual position difference between the position command and the servomotor becomes ΔL at time ta; this is a problem.

DISCLOSURE OF THE INVENTION

[0006] The invention is embodied to solve the above-mentioned problems and it is an object of the invention to provide a simple servo control system compensating for a follow-up delay of a servo block in electronic cam control and a setting method of the servo control system.

[0007] According to a first aspect of the invention, there is provided a servo control system for causing a servomotor to perform operation equivalent to a cam mechanism, the servo control system comprising pattern generation means for generating a second pattern of a cam shape relative to a phase corresponding to one revolution of the above-mentioned cam mechanism; correction means for differentiating the first pattern of the above-mentioned pattern generation means with respect to time, multiplying the differentiation value by a constant to find a multiplication value, and subtracting a predetermined phase from the multiplication value, thereby generating a correction pattern; and position command generation means for adding the above-mentioned correction pattern to the above-mentioned first pattern to generate a second pattern and generating a position command of the above-mentioned servomotor based on the phase corresponding to one revolution of the above-mentioned cam mechanism using the second pattern.

[0008] According to the servo control system, the correction means differentiates the first pattern with respect to time, multiplies the differentiation value by a constant, and subtracts a predetermined phase from the above-mentioned phase to generate a correction pattern, and the position command generation means adds the above-mentioned correction pattern to the above-mentioned first pattern to generate a second pattern and generates a position command of the above-mentioned servomotor based on the phase corresponding to one revolution of the above-mentioned cam mechanism using the second pattern. Therefore, in periodic control of repetitive operation like cam control, the second pattern is used to generate the position command, whereby there is the advantage of making it possible to easily compensate for the follow-up delay of the servo block.

[0009] According to a second aspect of the invention, there is provided a setting method of the servo control system in the first aspect of the invention, the setting method of executing a first step of presetting a value of the above-mentioned constant, increasing a predetermined value of the phase little by little, and storing a value at which the difference between a position of the above-mentioned servomotor and the position command of the above-mentioned position command generation means becomes small in storage means as an optimum value of the above-mentioned phase; and then executing a second step of previously increasing the value of the above-mentioned constant little by little and storing a value at which the difference between the position of the above-mentioned servomotor and the position command of the above-mentioned position command generation means becomes small in storage means as an optimum value of the phase.

[0010] The servo control system has the advantage that the optimum constant and phase can be set easily.

[0011] The servo control system according to a third aspect of the invention is characterized by the fact that in the first aspect of the invention, the constant is the reciprocal of a position control gain in servo system.

[0012] The servo control system has the advantage that the constant can be set easily.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 is a general block diagram of a servo control system to show one embodiment of the invention.

[0014]FIG. 2 is a general block diagram of the servo control system to show a command section of the servo control system shown in FIG. 1 by hardware.

[0015]FIG. 3 is a block diagram of a servo control block excluding the command section of the servo control system shown in FIG. 1.

[0016]FIG. 4 is a time curve of a speed command and actual speed.

[0017]FIG. 5 is a flowchart to show setting of parameters according to the embodiment of the invention.

[0018]FIG. 6 is a time curve of a correction position command, a position command, and actual position according to the embodiment of the invention.

[0019]FIG. 7 is a time curve of position command vs. actual position according to a servo control system in a related art.

BEST MODE FOR CARRYING OUT THE INVENTION

[0020] First Embodiment.

[0021] One embodiment of the invention will be discussed with reference to FIGS. 1 and 2. FIG. 1 is a general block diagram of a servo control system to show one embodiment of the invention and FIG. 2 is a general block diagram of the servo control system to show a command section shown in FIG. 1 by hardware.

[0022] In FIGS. 1 and 2, a servo control system 1 includes a command section 10 for generating a position command, a drive control section 50 for controlling drive of a servomotor 72 based on the command of the command section 10, a current sensor 70 for detecting a current flowing into the servomotor 72 and inputting to an interface (I/F) 65, and an encoder 74 for detecting the rotation angle of the servomotor 72 and inputting the rotation angle to an I/F 67.

[0023] In FIG. 1, the command section 10 indicates the processing concept of a CPU and includes an original cam pattern generator 11 as pattern generation means for generating an original cam pattern (first pattern) based on the phase corresponding to one revolution of a cam mechanism, a parameter setter 12 for setting a coefficient Tp and a phase D described later, a corrector 14 as correction means for generating a correction cam pattern (correction pattern) provided by differentiating the original cam pattern with respect to time, multiplying the differentiation value by a coefficient (constant) Tp to find a multiplication value, and subtracting the predetermined phase D from the phase corresponding to one revolution of the cam mechanism from the multiplication value, and a position command device 16 as position command generation means for adding the original cam pattern to the correction cam pattern of the corrector 14 to generate a second pattern and generating a position command based on the phase command of the cam mechanism.

[0024] In FIG. 2, the hardware configuration of the servo command section 10 includes a CPU 22 and cam memory 24, parameter memory 25, ROM 26, and I/Fs 28 and 29 connected to the CPU 22. The cam memory 24 stores the original cam pattern and the parameter memory 25 stores the coefficient Tp and the phase D described later. The ROM 26 stores an operational expression, etc., (expression (11) described later) for generating the correction cam pattern (correction pattern) provided by differentiating the original cam pattern with respect to time, multiplying the differentiation value by the coefficient (constant) Tp to find a multiplication value, and subtracting the predetermined phase D from the phase corresponding to one revolution of the cam mechanism from the multiplication value.

[0025] Output of the I/F 28 is input to the drive control section 50, and output of the encoder 74 is connected to the I/F 29.

[0026] The drive control section 50 has three control loops of a position control loop, a speed control loop, and a current control loop, and includes a subtracter 51 for performing a subtraction between the position detection value based on the rotation angle of the encoder 74 read from the I/F 67 and the position command from the command section 10 to find a deviation, a position controller 53 connected to the subtracter 51, a subtracter 55 for performing a subtraction between the speed detection value based on the rotation angle read from the I/F 67 and a speed command from the position controller 53 to find a deviation, a speed controller 57 connected to the subtracter 55, a subtracter 59 for performing a subtraction between the current value of the current sensor 70 read from the I/F 65 and a current command from the speed controller 57, and a power converter 63 with input connected through a current controller 61 connected to the subtracter 59 and output connected to the servomotor 72.

[0027] The position control loop includes the position controller 53, the speed controller 57, the current controller 61, the power converter 63, the servomotor 72, the encoder 74, and the I/F 67. The speed control loop includes the speed controller 57, the current controller 61, the power converter 63, the servomotor 72, the encoder 74, and the I/F 67. The current control loop includes the current controller 61, the power converter 63, the current sensor 70, and the I/F 65.

[0028] The cam pattern considering a follow-up delay amount in the servo control system generating a position command as in the related art (with no corrector 14) from the command section 10 will be discussed below:

[0029] Since the follow-up delay amount is the accumulation pulse amount of the actual position difference between a position command P_(ref) (PLS) and the servomotor 72, a correction position command P_(rev) (PLS) considering a follow-up delay becomes a command with accumulation pulse P_(dif) (PLS) added to the position command P_(ref) as in the following expression:

P _(rev) =P _(ref) +P _(dif)  (1)

[0030] Here, the speed control loop and the current control loop respond at sufficiently high speed as compared with the position control loop and thus the control block of the servo control system can assume that actual position P_(a) (PLS) of the servomotor 72 is a primary delay block of the position control loop having the position command P_(ref), a position control gain K_(p), and an integrator 1/S, as shown in FIG. 3.

[0031] Therefore, as for the actual position P_(a) of the servomotor 72, the following expression is obtained about the relationship with the position command P_(ref):

P _(a)={1/(1+T _(p) ·S)}P _(ref)  (2)

[0032] where

[0033] Tp=1/K_(p), K_(p): Position control gain

[0034] S: Laplace operator

[0035] Here, if speed command V_(ref) (PLS/s) and actual speed V_(a) (PLS/s) of differentiation of the position command P_(ref) and the actual position P_(a) with respect to time t are indicated, the following expressions result:

V _(ref) =dP _(ref) /dt=P _(ref)′  (3) $\begin{matrix} \begin{matrix} {V_{a} = {{{P_{a}}/{t}} = P_{a}^{\prime}}} \\ {= {\left\{ {S/\left( {1 + {T_{p} \cdot S}} \right)} \right\} \cdot P_{ref}}} \end{matrix} & (4) \end{matrix}$

[0036] The accumulation pulse P_(dif) becomes the difference between the position command P_(ref) and the actual position P_(a) as in the following expression:

P _(dif) =P _(ref) −P _(a)  (5)

[0037] Assigning expression (2) to P_(a) in expression (5) results in the following expression: $\begin{matrix} \begin{matrix} {P_{dif} = {\left\{ {1 - {1/\left( {1 + {T_{p} \cdot S}} \right)}} \right\} P_{ref}}} \\ {= {T_{p} \cdot S \cdot {P_{ref}/\left( {1 + {T_{p} \cdot S}} \right)}}} \\ {= {T_{p} \cdot V_{a}}} \end{matrix} & (6) \end{matrix}$

[0038] Assigning above-mentioned expression (5) to above-mentioned expression (1) results in the following expression: $\begin{matrix} \begin{matrix} {P_{rev} = {P_{ref} + P_{dif}}} \\ {= {P_{ref} + {T_{p} \cdot V_{a}}}} \end{matrix} & (7) \end{matrix}$

[0039] In above-mentioned expression (7), the correction position command P_(rev) is provided by adding the actual speed V_(a) of the control result based on the command of the original cam pattern to the position command P_(ref) and depends on the actual speed V_(a) and therefore holds assuming that there is a shift between the original cam pattern and the actual locus. Since the servo control system is assumed to be the primary delay block as shown in FIG. 3, when the speed command V_(ref) is input, the actual speed V_(a)(t) of a time function becomes almost equal to a speed command V_(ref)(t−d) of a time function shifted in time d (s) as shown in FIG. 4, and becomes the following expression:

V _(a)(t)≅V _(ref)(t−d)  (8)

[0040] From above-mentioned expressions (4) to (8), the accumulation pulse P_(dif) can be calculated according to the position command P_(ref). $\begin{matrix} \begin{matrix} {P_{dif} = {{T_{p} \cdot {V_{a}(t)}} = {T_{p} \cdot {V_{ref}\left( {t - d} \right)}}}} \\ {= {T_{p} \cdot {P_{ref}^{\prime}\left( {t - d} \right)}}} \end{matrix} & (9) \end{matrix}$

[0041] From expressions (1) and (7), the following expression results: $\begin{matrix} \begin{matrix} {P_{rev} = {P_{ref} + P_{dif}}} \\ {= {P_{ref} + {T_{p} \cdot {P_{ref}^{\prime}\left( {t - d} \right)}}}} \end{matrix} & (10) \end{matrix}$

[0042] From expression (10), the correction position command P_(rev) can be calculated only by the position command Pref.

[0043] In the electronic cam control, the position command is created based on an original cam pattern F_(ref) describing a position period relative to a phase and thus the times t and d in above-mentioned expression (10) can be replaced with phases θ(°) and D(°). A second pattern F_(rev) as a position command to be generated from the position command device 14 as the position command with the times replaced with the phases θ and D become the following expression:

F _(rev) =F _(ref) +T _(p) ·F _(ref)′(θ−D)  (11)

[0044] where

[0045] F_(h)=T_(p)·F_(ref)′(θ−D)

[0046] F_(h): Correction cam pattern

[0047] From above-mentioned expression (11), the cam operation is periodic control of repetition and thus the correction cam pattern F_(h) considering a follow-up delay is calculated according to the original cam pattern (first pattern) F_(ref) and is added to the original cam pattern F_(ref) to generate the second pattern F_(rev) and a position command is created in accordance with phase command, whereby a correction position command can be provided easily.

[0048] Setting of the coefficient Tp and the phase D described above will be discussed with reference to FIGS. 2 and 5. FIG. 5 is a flowchart to show the setting order of the coefficient T_(p) and the phase D.

[0049] First, as initial values, phase D=0, coefficient T_(p)=1, number-of-trial-runs flag indicating the number of trial runs 0, and phase D determination flag 0 are input from an input section (not shown) and are stored in the parameter memory 25 (step S101). The CPU 12 reads the phase D and the coefficient T_(p) from the parameter memory 25 (step S103) and sets this-time value C to zero (step S105). It generates a trial run command from the command section 10 and drives the servomotor 72 through the drive section 50 (step S107). The CPU 12 reads the angle value of the encoder 74 from the I/F 19 and determines whether or not the cam makes one revolution (step S109). Since the cam does not yet make one revolution, the CPU finds the difference (accumulation pulse) P_(dif) between the command value P_(ref) and the actual position P_(a) until the cam makes one revolution, adds the difference P_(dif) and preceding-time value C together to find the time-time value C related to the phase D, and stores the value in the parameter memory 25 (step S111).

[0050] At step S109, driving the servomotor 72 is continued and if the CPU 12 reads the angle value of the encoder 74 from the I/F 19 and determines that the cam makes one revolution (step S109), the command section 10 gives a trial run stop command through the drive section 50 to stop the servomotor 72 (step S113).

[0051] The CPU 12 determines whether or not this is the first time of the trial run (step S115). Since the number-of-trial-runs flag is zero, the CPU 12 sets the this-time value C to a minimum value C_(min) and sets the number-of-trial-runs flag from zero to 1 (step S119) and stores the phase D in the parameter memory 25 as an optimum phase D_(m) corresponding to the minimum value C_(min) set as the this-time value C at step S119 (step S120). The CPU 12 determines whether or not the phase D is already determined (step S121). Since the phase D determination flag is zero, the CPU 12 determines whether or not phase D≧360° (step S123). Since phase D<360°, the CPU 12 adds a predetermined phase Δd to the preceding-time phase D to create the this-time phase D and stores the this-time phase D in the parameter memory 25 (step S125).

[0052] The CPU 12 reads the phase D and the coefficient T_(p) from the parameter memory 25 (step S103) and executes steps S105 to S113 as described above. It determines whether or not this is the first time of the trial run according to the number-of-trial-runs flag (step S115). Since the flag is 1, the CPU 12 makes a comparison between the minimum value C_(min) and the preceding-time value C (step S117). If minimum value C_(min)>this-time value C, the CPU 12 sets the this-time value C to the minimum value C_(min) (step S119) and stores the phase D in the parameter memory 25 as the optimum phase D_(m) corresponding to the minimum value C_(min) set as the this-time value C at step S119 (step S120).

[0053] On the other hand, if minimum value C_(min)<this-time value C at step S117, the CPU 12 determines whether or not the phase D is determined according to the phase D determination flag. Since the flag is zero (step S131), again at step S121, the CPU 12 determines whether or not the phase D is determined (step S121). Since the phase D is not determined, the CPU 12 determines whether or not phase D≧360° (step S123). Since phase D<360°, the CPU 12 adds the preceding-time value D and Δd together to find the this-time value D and stores the this-time value D in the parameter memory 25 (step S125).

[0054] Again, the CPU 12 reads the phase D and the coefficient Tp from the parameter memory 25 (step S103) and executes steps S105 to S121 as described above until the phase D becomes equal to or greater than 360°. The CPU 12 stores the optimum phase D_(m) corresponding to the smallest difference value between the position command P_(ref) and the actual position P_(a) in the parameter memory 25 and sets the phase D determination flag to 1 (S127).

[0055] Next, since the optimum phase D_(m) is determined, an optimum coefficient T_(pm) is determined. The CPU 12 reads the optimum phase D_(m) and the coefficient Tp from the parameter memory 25 (step S103) and executes steps S103 to S117 described above. Since the optimum phase D_(m) is determined (step S131), the CPU 12 adds a predetermined minute phase Δt_(p) to the preceding-time coefficient T_(p) to create the this-time coefficient T_(p) and stores the this-time coefficient T_(p) in the parameter memory 25 (step S129). As the CPU 12 repeats steps S103 to S129 as described above, at step S117 the CPU 12 determines whether or not minimum value C_(min)>this-time value C. If this-time value C>minimum value C_(min), the CPU 12 determines whether or not the phase D is determined (step S131). Since the phase D determination flag is 1, the CPU 12 determines that the preceding-time coefficient T_(pm) is the optimum coefficient T_(pm) corresponding to small difference between the position command P_(ref) and the actual position P_(a), calculates this-time coefficient T_(p)−Δt_(p) to find the preceding-time coefficient T_(p) (step S133), and stores the optimum coefficient T_(pm) in the parameter memory 25 (step S135).

[0056] The operation of the servo control system using the optimum phase D_(m) and coefficient T_(pm) set as described above will be discussed with reference to FIG. 1.

[0057] When a start command is generated, in the command section 10, an original cam pattern is generated from the original cam pattern generator 11 and is input to the corrector 14 and the phase D and the coefficient Tp are read from the parameter setter 12 and are input to the corrector 14. The corrector 14 calculates P_(ref)+T_(p)·P_(ref)′(t−d) and outputs a correction pattern (correction value) to the position command device 16, which then generates a position command based on the transition of a phase command of the cam and the correction pattern for driving the servomotor 72 through the drive control section 50.

[0058]FIG. 6 shows the result of thus operating the servo control system 1 as a curve of time vs. position. As shown in FIG. 6, it is acknowledged that the locus of the actual positions becomes almost equal to that of the position command based on the original pattern and the phase command according to a correction position command generated from the position command device 14, created based on the optimum coefficient T_(pm) and phase D_(m) from the original cam pattern.

INDUSTRIAL APPLICABILITY

[0059] As described above, the servo control system and its setting method according to the invention are suited for use for controlling an electronic cam. 

1. A servo control system for causing a servo motor to perform operation equivalent to a cam mechanism, the servo control system comprising: pattern generation means for generating a first pattern of a cam shape relative to a phase corresponding to one revolution of the above-mentioned cam mechanism; correction means for differentiating the first pattern of the pattern generation means with respect to time, multiplying the differentiation value by a constant to find a multiplication value, and subtracting a predetermined phase from the multiplication value, thereby generating a correction pattern; and position command generation means for adding the above-mentioned correction pattern to the above-mentioned first pattern to generate a second pattern and generating a position command of the above-mentioned servomotor based on the phase corresponding to one revolution of the above-mentioned cam mechanism using the second pattern.
 2. A setting method of a servo control system as claimed in claim 1, the setting method of executing a first step of presetting a value of the above-mentioned constant, increasing a predetermined value of the phase little by little, and storing a value at which the difference between a position of the above-mentioned servomotor and the position command of the position command generation means becomes small in storage means as an optimum value of the above-mentioned phase; and then executing a second step of previously increasing the value of the above-mentioned constant little by little and storing a value at which the difference between the position of the above-mentioned servomotor and the position command of the position command generation means becomes small in storage means as an optimum value of the above-mentioned constant.
 3. The servo control system as claimed in claim 1 wherein the above-mentioned constant is a reciprocal of a position control gain in the above-mentioned servo system. 